The present invention relates generally to an arrangement for detecting switch closures in a scanned matrix of switches such as those used in keyboards and keypads. More particularly, a novel switch matrix circuit is described that facilitates the unambiguous detection of all two key depressions in a scanned matrix of switches without requiring diode based isolation of the switches, interpretation through software techniques or timing delays.
In conventional keyboard implementations, a matrix of switches is provided with the switch inputs being arranged in rows and the switch outputs being arranged in columns (or vice versa). To detect the depression of a particular key, the switch inputs are actively scanned row by row in a rectangular array. During scanning, the active row is driven at a first (typically high) voltage level while the remaining rows are driven at a second (typically low) voltage level. Sense amplifiers provided for the columns are then read to determine the actual keys that have been selected. In the event that two (or more) keys within the same row are depressed simultaneously, the column based sense amplifiers are able to determine which keys have been selected. However, if a plurality of keys are depressed in the same column the selected keys cannot be determined due to shorting that occurs between the active high "scanning" row and one or more of the active low "holding" rows.
To overcome this problem, it is common to provide a diode adjacent each switch to prevent shorting through that switch as seen in FIG. 3. Although this ..solution is effective, it is relatively expensive due to the increased component count which also reduces reliability and increases the complexity of the printed circuit board layout. Another common approach is to provide software to perform the keyboard scan. The keyboard scan typically either ignores multiple key depressions or delays until all but a single key is depressed, or enters into a software algorithm which continues the keyboard scan and by a process of elimination of all of the undepressed keys determines the state of key depression. The second and third alternatives require a mechanism that detects the fact that a key depression has occurred, which is not generally the case. Yet another solution is a hybrid approach that combines the diode isolation and software scanning techniques. For example, diode isolation may be used for switches such as the Control, Shift and Alt keys and software decoding may be used for the alphanumeric keys.